package com.props.scorer.gameobjects;



/**
 * @author Jason
 *	UserSettings - 	Object will hold all of the user settings.
 *					Object is created when app is loaded using the settings in SharedPreferences.
 *					If not SharedPreferences exist (first launch of app), the default settings are used.
 *					Object is updated when user edits settings on the Settings screen. When settings are updated
 *					method UserSettings.UpdateSharedPreferences() is called to set the SharedPreferences to the
 *					new values in UserSettings object.
 */
public class UserSettings {

	//Properties
	private int iNumOfScoreCards;
	private int iNumOfMultiplierCards;
	private int iNumOfLockCards;
	private int iMultiplierCardSingleValue;
	private int iMultiplierCardDoubleValue;
	private int iMultiplierCardOnBoardValue;

	private boolean bCardMultiplierEnabled;
	private boolean bBoardMultiplierEnabled;
	private boolean bClearingEnabled;
	private boolean bLockingEnabled;
	private boolean bFourCardCancelLockEnabled;
	private boolean bFiveCardSelfClearEnabled;	
	private boolean bPlayerThreeEnabled;
	private boolean bPlayerFourEnabled;

	private String sPlayerOneName;
	private String sPlayerTwoName;
	private String sPlayerThreeName;
	private String sPlayerFourName;
	

	public UserSettings(int iNumOfScoreCards,
			int iNumOfMultiplierCards, int iNumOfLockCards,
			int iMultiplierCardSingleValue, int iMultiplierCardDoubleValue,
			int iMultiplierCardOnBoardValue, boolean bCardMultiplierEnabled,
			boolean bBoardMultiplierEnabled, boolean bClearingEnabled,
			boolean bLockingEnabled, boolean bFourCardCancelLockEnabled,
			boolean bFiveCardSelfClearEnabled, String sPlayerOneName,
			String sPlayerTwoName, String sPlayerThreeName, String sPlayerFourName,
			boolean bPlayerThreeEnabled, boolean bPlayerFourEnabled) {
		super();
		this.iNumOfScoreCards = iNumOfScoreCards;
		this.iNumOfMultiplierCards = iNumOfMultiplierCards;
		this.iNumOfLockCards = iNumOfLockCards;
		this.iMultiplierCardSingleValue = iMultiplierCardSingleValue;
		this.iMultiplierCardDoubleValue = iMultiplierCardDoubleValue;
		this.iMultiplierCardOnBoardValue = iMultiplierCardOnBoardValue;
		this.bCardMultiplierEnabled = bCardMultiplierEnabled;
		this.bBoardMultiplierEnabled = bBoardMultiplierEnabled;
		this.bClearingEnabled = bClearingEnabled;
		this.bLockingEnabled = bLockingEnabled;
		this.bFourCardCancelLockEnabled = bFourCardCancelLockEnabled;
		this.bFiveCardSelfClearEnabled = bFiveCardSelfClearEnabled;
		this.bPlayerThreeEnabled = bPlayerThreeEnabled;
		this.bPlayerFourEnabled = bPlayerFourEnabled;
		this.sPlayerOneName = sPlayerOneName;
		this.sPlayerTwoName = sPlayerTwoName;
		this.sPlayerThreeName = sPlayerThreeName;
		this.sPlayerFourName = sPlayerFourName;
	}
	
	//UpdateUserSettings() - set the UserSettings object.
	public void UpdateUserSettings(int iNumOfScoreCards,
			int iNumOfMultiplierCards, int iNumOfLockCards,
			int iMultiplierCardSingleValue, int iMultiplierCardDoubleValue,
			int iMultiplierCardOnBoardValue, boolean bCardMultiplierEnabled,
			boolean bBoardMultiplierEnabled, boolean bClearingEnabled,
			boolean bLockingEnabled, boolean bFourCardCancelLockEnabled,
			boolean bFiveCardSelfClearEnabled, String sPlayerOneName,
			String sPlayerTwoName, String sPlayerThreeName, String sPlayerFourName,
			boolean bPlayerThreeEnabled, boolean bPlayerFourEnabled)
	{
		setiNumOfScoreCards(iNumOfScoreCards);
		setiNumOfMultiplierCards(iNumOfMultiplierCards);
		setiNumOfLockCards(iNumOfLockCards);
		setiMultiplierCardSingleValue(iMultiplierCardSingleValue);
		setiMultiplierCardDoubleValue(iMultiplierCardDoubleValue);
		setiMultiplierCardOnBoardValue(iMultiplierCardOnBoardValue);
		setbCardMultiplierEnabled(bCardMultiplierEnabled);
		setbBoardMultiplierEnabled(bBoardMultiplierEnabled);
		setbClearingEnabled(bClearingEnabled);
		setbLockingEnabled(bLockingEnabled);
		setbFourCardCancelLockEnabled(bFourCardCancelLockEnabled);
		setbFiveCardSelfClearEnabled(bFiveCardSelfClearEnabled);
		setsPlayerOneName(sPlayerOneName);
		setsPlayerTwoName(sPlayerTwoName);
		setsPlayerThreeName(sPlayerThreeName);
		setsPlayerFourName(sPlayerFourName);
		setbPlayerThreeEnabled(bPlayerThreeEnabled);
		setbPlayerFourEnabled(bPlayerFourEnabled);
	}
	
	//Accessor Methods
	public int getiNumOfScoreCards() {
		return iNumOfScoreCards;
	}
	public void setiNumOfScoreCards(int iNumOfScoreCards) {
		this.iNumOfScoreCards = iNumOfScoreCards;
	}
	public int getiNumOfMultiplierCards() {
		return iNumOfMultiplierCards;
	}
	public void setiNumOfMultiplierCards(int iNumOfMultiplierCards) {
		this.iNumOfMultiplierCards = iNumOfMultiplierCards;
	}
	public int getiNumOfLockCards() {
		return iNumOfLockCards;
	}
	public void setiNumOfLockCards(int iNumOfLockCards) {
		this.iNumOfLockCards = iNumOfLockCards;
	}
	public int getiMultiplierCardSingleValue() {
		return iMultiplierCardSingleValue;
	}
	public void setiMultiplierCardSingleValue(int iMultiplierCardSingleValue) {
		this.iMultiplierCardSingleValue = iMultiplierCardSingleValue;
	}
	public int getiMultiplierCardDoubleValue() {
		return iMultiplierCardDoubleValue;
	}
	public void setiMultiplierCardDoubleValue(int iMultiplierCardDoubleValue) {
		this.iMultiplierCardDoubleValue = iMultiplierCardDoubleValue;
	}
	public int getiMultiplierCardOnBoardValue() {
		return iMultiplierCardOnBoardValue;
	}
	public void setiMultiplierCardOnBoardValue(int iMultiplierCardOnBoardValue) {
		this.iMultiplierCardOnBoardValue = iMultiplierCardOnBoardValue;
	}
	public boolean isbCardMultiplierEnabled() {
		return bCardMultiplierEnabled;
	}
	public void setbCardMultiplierEnabled(boolean bCardMultiplierEnabled) {
		this.bCardMultiplierEnabled = bCardMultiplierEnabled;
	}
	public boolean isbBoardMultiplierEnabled() {
		return bBoardMultiplierEnabled;
	}
	public void setbBoardMultiplierEnabled(boolean bBoardMultiplierEnabled) {
		this.bBoardMultiplierEnabled = bBoardMultiplierEnabled;
	}
	public boolean isbClearingEnabled() {
		return bClearingEnabled;
	}
	public void setbClearingEnabled(boolean bClearingEnabled) {
		this.bClearingEnabled = bClearingEnabled;
	}
	public boolean isbLockingEnabled() {
		return bLockingEnabled;
	}
	public void setbLockingEnabled(boolean bLockingEnabled) {
		this.bLockingEnabled = bLockingEnabled;
	}
	public boolean isbFourCardCancelLockEnabled() {
		return bFourCardCancelLockEnabled;
	}
	public void setbFourCardCancelLockEnabled(boolean bFourCardCancelLockEnabled) {
		this.bFourCardCancelLockEnabled = bFourCardCancelLockEnabled;
	}
	public boolean isbFiveCardSelfClearEnabled() {
		return bFiveCardSelfClearEnabled;
	}
	public boolean isbPlayerThreeEnabled() {
		return bPlayerThreeEnabled;
	}

	public void setbPlayerThreeEnabled(boolean bPlayerThreeEnabled) {
		this.bPlayerThreeEnabled = bPlayerThreeEnabled;
	}

	public boolean isbPlayerFourEnabled() {
		return bPlayerFourEnabled;
	}

	public void setbPlayerFourEnabled(boolean bPlayerFourEnabled) {
		this.bPlayerFourEnabled = bPlayerFourEnabled;
	}
	public void setbFiveCardSelfClearEnabled(boolean bFiveCardSelfClearEnabled) {
		this.bFiveCardSelfClearEnabled = bFiveCardSelfClearEnabled;
	}
	public String getsPlayerOneName() {
		return sPlayerOneName;
	}
	public void setsPlayerOneName(String sPlayerOneName) {
		this.sPlayerOneName = sPlayerOneName;
	}
	public String getsPlayerTwoName() {
		return sPlayerTwoName;
	}
	public void setsPlayerTwoName(String sPlayerTwoName) {
		this.sPlayerTwoName = sPlayerTwoName;
	}
	public String getsPlayerThreeName() {
		return sPlayerThreeName;
	}
	public void setsPlayerThreeName(String sPlayerThreeName) {
		this.sPlayerThreeName = sPlayerThreeName;
	}
	public String getsPlayerFourName() {
		return sPlayerFourName;
	}
	public void setsPlayerFourName(String sPlayerFourName) {
		this.sPlayerFourName = sPlayerFourName;
	}	
}
